'CFGTEXT.TXT ' Routines to configure a text box for max length and upper/lower case translation ' and password hiding ' ' These routines also appear to work fine with QEVB (Pioneer) controls ' ' Jim McClure ' QED, Inc. ' 9/16/92 ' CSID = 76666,1303 ' or jamcclure@qed.com from Internet '--------- 'Win API Calls 'Put these in your Global module '--------- Declare Function GetWindowLong& Lib "User" (ByVal hWd%, ByVal nIndex%) Declare Function SetWindowLong& Lib "User" (ByVal hWd%, ByVal nIndex%, ByVal dwNewLong&) Declare Function SendMessage Lib "User" (ByVal hWnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, lParam As Any) As Long Global Const GWL_STYLE = -16 Global Const ES_UPPERCASE = &H8& Global Const ES_LOWERCASE = &H10& Global Const ES_PASSWORD = &H20& Global Const WM_USER = &H400 Global Const EM_LIMITTEXT = WM_USER + 21 Global Const EM_SETPASSWORDCHAR = WM_USER + 28 '---------- 'Get the VBHWND.ZIP file from Lib 1 and use the CTLHWND DLL in it '---------- Declare Function ControlhWnd% Lib "CTLHWND" (Ctl as Control) '---------- 'Routine to configure a text box 'Put this routine in a general module '---------- Sub ConfigTextBox (t As Control, Style As Long, MaxLen As Integer) Dim CtlStyles As Long, NewStyles As Long, Ok As Long Dim tWnd As Integer 'Get handle to text box control tWnd = ControlhWnd(t) 'Get current style settings CtlStyles = GetWindowLong(tWnd, GWL_STYLE) 'Add in new styles 'If you want to be able to "toggle" styles, use XOR here and send '1' bits for styles NewStyles = CtlStyles Or Style 'Set new style CtlStyles = SetWindowLong(tWnd, GWL_STYLE, NewStyles) 'Set type of password char 'Just use default '*', or could pass in a char for use If (NewStyles And ES_PASSWORD) > 0 Then Ok = SendMessage(tWnd, EM_SETPASSWORDCHAR, Asc("*"), 0&) End If 'Now set limit on length of text '****THESE LINES WERE OMITTED ON THE INITIAL UPLOAD!**** If MaxLen > 0 Then Ok = SendMessage(tWnd, EM_LIMITTEXT, MaxLen, 0) End If End Sub '---------- 'Sample calls to ConfigTextBox '---------- Sub Form_Load() ConfigTextBox Text1, ES_UPPERCASE, 10 ConfigTextBox Text2, ES_UPPERCASE Or ES_PASSWORD, 10 'etc... End Sub